package com.zhangxun.controller;


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhangxun.domain.ProdTag;
import com.zhangxun.service.ProdTagService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api
@RequestMapping("/prod/prodTag")
@RestController
public class ProdProdTagController {

    @Autowired
    private ProdTagService prodTagService;


    @GetMapping("/listTagList")
    @ApiOperation("新增商品，查询商品的所有标签选择接口")
    @PreAuthorize("hasAuthority('prod:prod:save')")
    public ResponseEntity<List<ProdTag>> listTagList(){

        return ResponseEntity.ok(prodTagService.list());
    }

    @GetMapping("/page")
    @ApiOperation("分组页面，分页查询所有分组接口")
    @PreAuthorize("hasAuthority('prod:prodTag:page')")
    public Page<ProdTag> page(Page<ProdTag> page,ProdTag prodTag){

        page = prodTagService.page(page,new LambdaQueryWrapper<ProdTag>()
                .like(StringUtils.hasText(prodTag.getTitle()),ProdTag::getTitle,prodTag.getTitle())
                .eq(prodTag.getStatus() != null,ProdTag::getStatus,prodTag.getStatus()));

        return page;

    }

    @GetMapping("/prodTagList")
    @ApiOperation("小程序查询所有标签")
    public ResponseEntity<List<ProdTag>> prodTagList(){

        List<ProdTag> list = prodTagService.list(new LambdaQueryWrapper<ProdTag>()
                .eq(ProdTag::getStatus, 1));
        return ResponseEntity.ok(list);

    }





}
